iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Security

從小白到資安 PM 的必修課系列 第 2

你的密碼很容易被盜嗎?一起來了解雜湊與加鹽

  • 分享至 

  • xImage
  •  

在網路上最常外洩的就是密碼了,有沒有人也是因為要想出高強度密碼(又可以同時記得)感到困擾的嗎?

這就回到為什麼密碼要是複雜的,就是為了防範太簡單的密碼會太容易被駭客試出來,作為入侵的漏洞。但一個有把安全性考慮進去的網站,為了讓他的使用者可以安心使用他們的服務,在資料庫裡就不能直接將密碼以原文的方式存取。

在保護使用者的密碼上,有兩個方式是網站通常會使用的:「雜湊 (Hashing) 」與「加鹽 (Salting)」。

雜湊 (Hashing)

在使用者輸入密碼後,網站背後的資料庫紀錄值的是經過處理過的一串英文跟數字,也就是雜湊值 (Hash Value)。

Hash Value 的特性是無法由現有的英文跟數字回推至原來的密碼,但因為他經過處理的機制是一樣的,所以原密碼在處理過後,都會是一樣的 Hash Value。

另外一個 Hash Value 的特性是,就算原密碼只有些微的差距,最後產出的結果還是會有非常大的不一樣。

但駭客在龐大的資料庫中,可以建立一張「彩虹表」(Rainbow Table),裡面會有各種常見的 Hash Value,所以當網站處理原密碼的複雜度不夠,駭客就可以藉由搜尋的方式取得你的密碼。

加鹽 (Salting)

當密碼太容易在彩虹表上找到時,就是 Salting 出場應用的地方,salt 就是一串隨機的字串,在經過雜湊的處理前,系統會把原來的密碼跟一組獨特的 salt 組合在一起。

所以就算是同樣的密碼,最後紀錄的 Hash Value 也不會一樣,彩虹表就也對不出原來的密碼。

但就算經過了加鹽的處理,如果原來的密碼太過簡單,還是會很容易被駭客用工具破解,所以在最剛開始設有高強度的密碼還是多一層保險。


上一篇
駭客如何入侵?攻擊的五個關鍵階段
下一篇
你的點餐單有漏洞!了解 SQL Injection 攻擊
系列文
從小白到資安 PM 的必修課3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言